1. Field of the Invention
This invention relates to computer systems and, more particularly, to resource management of data storage systems within computer systems.
2. Description of the Related Art
Computer data storage systems are becoming increasingly large. To increase storage capacity, several storage devices may be grouped together into a global resource pool. Conventionally, the storage resources of these devices may be treated as a flat, static system in which resources are allocated globally and without constraint. As the size of the data storage system becomes larger, scalability problems may arise for a variety of storage system operations. Generally speaking the global resource pool may allocate small storage entities such as blocks or extents for data storage use. Consequently, allocation of resources may be very slow and may require extensive searches of the global resource pool.
Also, in conventional file systems, the amount of time needed to repair a damaged file system may, at best, grow proportionately with the size of storage system metadata. Since resources are allocated globally, an error may affect any portion of the file system, necessitating exhaustive consistency checking. In other words, the fault domain may be the entire file system. To support utilities such as the well known File System Consistency Checker (FSCK), global metadata tracking tables may have to be maintained. During operation of FSCK, these tracking tables must be accessible. Consequently, stress is placed on the virtual memory subsystem and it may be difficult to parallelize consistency-checking operations. While repairs are taking place, the storage system is generally taken offline, resulting in unacceptably long periods during which the stored data is not accessible.
A large storage system may be partitioned into many smaller systems to make error recovery faster. However, it may be difficult to manage the overhead of management metadata needed to permit partitions to expand and shrink dynamically, particularly when multiple, non-contiguous storage devices are incorporated in the storage system. In view of the above, a more effective system and method for dynamically managing the resources of a file system that account for these issues are desired.